home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Precision Software Appli…tions Silver Collection 4
/
Precision Software Applications Silver Collection Volume 4 (1993).iso
/
stats
/
chadyn.exe
/
YCOMMM.C
< prev
next >
Wrap
Text File
|
1988-12-15
|
4KB
|
205 lines
/******************************* YCOMMM.C ***********************************/
/*********************** MAIN MENU COMMANDS AND MENU *************************/
/********************* (C) 1986,7,8 by JAMES A. YORKE ************************/
#include "yinclud.h"
MainMenu() /* main part of parameter menu */
{
FILE *output;
output = StOutPut;
if (level == SETPARAM)
scr_clr();/* in desmets pcio.a */
scr_rowcol(1,0);
map_menu(output,MapName);/* in YMapMenu.c*/
PRINT
"\n T: begin plotting Trajectory; RT first Reboots previous crt picture\n");
PRINT
" XX: terminate program\n");
PRINT
" MAPM: Process Menu of differential equations and maps\n");
PRINT
"\nSUBMENUS: (hitting '+' and <enter> repeatedly cycles thru the menus)\n\n"
);
PRINT
" PM: set Parameters \n\n");
PRINT
" CM: Color Menu \n");
PRINT
" DM: DISK input-output \n");
PRINT
" DEM: Differential Equations \n");
PRINT
" IM: Interrupts \n");
PRINT
" VM: Various and sundry \n");
PRINT
" YM: Vectors yn[]\n");
PRINT
" AM: Advanced capabilities Menu \n\n\n");
}
int advCapabilitiesMenu(CodeName)
char *CodeName;
{
if (level == SETPARAM)
scr_clr();/* in desmets pcio.a */
scr_rowcol(1,0);
PRINT
" ADVANCED CAPABILITIES MENU \n\n");
if (num_lyap != -9999)
{ PRINT
" L: The number of LYAPUNOV EXPONENTS computed. Current number is %d;\n"
,num_lyap);
print_lyap(StOutPut);/* won't print unless lyaptime > 0 */
if (num_lyap > 0 && lyaptime > 0)
PRINT "\n");
}
PRINT
"SUBMENUS: \n");
PRINT
" BM: Basin of attraction \n");
PRINT
" BIFM: BIFurcation diagrams\n");
PRINT
" NM: Newton method\n");
PRINT
" SM: STRADDLE orbit\n");
PRINT
" UM: Unstable manifold\n");
PRINT
"\n\n");
}
int MMCommands(CodeName)
char *CodeName;
{
int oldTaskFlag;
TEST("am")
{
advCapabilitiesMenu();/* in YCOMMM.C */
return(1);
}
TEST("bifm")
{
bifMenu();/* in YBIFRCAT.C */
return(1);
}
TEST("bm")
{
BasinMenu();
return(1);
}
TEST("cm")/* output */
{
ColorMenu();
return(1);
}
TEST("dem")
{
DEMenu();
return(1);
}
TEST("dm")
{
diskMenu();
return(1);
}
TEST("im")/* interrupts */
{
if (level == SETPARAM)
scr_clr();/* in desmets pcio.a */
scr_rowcol(0,0);
PRINT
" MENU OF KEYBOARD INTERRUPTS --FOR USE WHILE PLOTTING \n");
getText("yintrpt.doc","keys");
return(1);
}
TEST("mapm")
{
if(level > 2)
PRINT
"Command MAPM cannot be called from this level; first return to menu;\n");
else
level = PICKMAP;
/* forces return to the part of program for
selecting a new map */
return(1);
}
TEST("mm")
{
MainMenu();
return(1);
}
TEST("nm")
{
NewtonMenu();
return(1);
}
TEST("pm")
{
menuP();
return(1);
}
TEST("vm")/* various output */
{
menuV();
return(1);
}
TEST("rt")
{
oldTaskFlag = taskFlag;
boot = 1;
taskFlag = 0;/* this is just in case T is called from
circle or some other routine that sets
taskFlag >= 100 */
caseT();
taskFlag = oldTaskFlag;
return(1);
}
TEST("t")
{
oldTaskFlag = taskFlag;
taskFlag = 0;/* this is just in case caseT is called from
circle or some other routine that sets
taskFlag >= 100 */
caseT();
taskFlag = oldTaskFlag;
return(1);
}
TEST("um")
{
ManifoldMenu();
return(1);
}
TEST("xx")
{
/* level = KILL;*/
character_mode();/* in YSCREEN.C */
exit(0);
/* return(1);*/
}
TEST("ym")
{
menuY();
return(1);
}
return(0);
}